package com.sinosoft.system.util.jwt;


import java.security.SecureRandom;

import org.apache.log4j.Logger;


//import com.nimbusds.jose.*;
//import com.nimbusds.jose.crypto.MACSigner;
//import com.nimbusds.jwt.*;


public class JoseJwt {

//	private static Logger log = Logger.getLogger(JoseJwt.class);
//	
//	public static String dojwt(String sourceStr){
//		log.info("sourceStr Jwt码生产:"+sourceStr);
//		JWSObject jwsObject = new JWSObject(new JWSHeader(JWSAlgorithm.HS256),
//                new Payload(sourceStr));
//		byte[] sharedKey = new byte[32];
//		new SecureRandom().nextBytes(sharedKey);
//		try {
//			jwsObject.sign(new MACSigner(sharedKey));
//		} catch (Exception e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
//		
//		return jwsObject.serialize();
//    } 
//	
//	public static String parseJwt(String jwtString){
//		log.info("jwtString Jwt解析:"+jwtString);
//		JWT jwt = null;
//		Payload payload = null;
//		try {
//		    jwt = JWTParser.parse(jwtString);
//		} catch (Exception e) {
//		    // Invalid JWT encoding
//			log.error("Invalid JWT encoding\n"+e.getMessage());
//		}
//
//		// Check the JWT type
//		if (jwt instanceof PlainJWT) {
//		    PlainJWT plainObject = (PlainJWT)jwt;
//		    // continue processing of plain JWT...
//		    payload = plainObject.getPayload();
//		} else if (jwt instanceof SignedJWT) {
//		    SignedJWT jwsObject = (SignedJWT)jwt;
//		    // continue with signature verification...
//		    payload = jwsObject.getPayload();
//		} else if (jwt instanceof EncryptedJWT) {
//		    EncryptedJWT jweObject = (EncryptedJWT)jwt;
//		    // continue with decryption...
//		    payload = jweObject.getPayload();
//		}
//		return payload.toString();
//	}
//
//	
//	public static void main(String[] args){
////		String str = dojwt();
////		System.out.print(dojwt());
////		parseJwt(str);
//	}
	
}
